package LearnDataStructure.a_线性结构.队列;

/**
 * @version: 1.0
 * @Author: wuqiu
 * @date: 2023-07-04 11:02
 * @description: LeetcodeLearnAlgorithm -> LearnDataStructure.a_线性结构.队列
 */
public interface MyQueueAPI<T> {
    /**
     * 入列
     * @param element
     */
    void enqueue(T element);

    /**
     * 出列
     * @return
     */
    T dequeue();

    /**
     * 获取当前队列长度
     * @return
     */
    int getSize();

    /**
     * 判断队列是否空
     * @return
     */
    boolean empty();

    /**
     * 查看队列的即将出列元素，但不会让此元素出列
     * @return
     */
    T peek();
}
